<!DOCTYPE html>
<html>
<head>
    <!-- 页面meta -->
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>传智健康</title>
    <meta name="description" content="传智健康">
    <meta name="keywords" content="传智健康">
    <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
    <!-- 引入样式 -->
    <link rel="stylesheet" href="../plugins/elementui/index.css">
    <link rel="stylesheet" href="../plugins/font-awesome/css/font-awesome.min.css">
    <link rel="stylesheet" href="../css/style.css">


</head>
<body class="hold-transition">
<div id="app">
        <div class="block">
            <span class="demonstration">时间段查询</span>
            <el-date-picker
                    v-model="value"
                    type="monthrange"
                    range-separator="至"
                    start-placeholder="开始月份"
                    end-placeholder="结束月份"
                    format="yyyy-MM"
                    value-format="yyyy-MM">
            </el-date-picker>
            <button  @click="findByDate()">确定</button>
        </div>
    <div class="content-header">
        <h1>统计分析<small>会员数量</small></h1>
        <el-breadcrumb separator-class="el-icon-arrow-right" class="breadcrumb">
            <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item>统计分析</el-breadcrumb-item>
            <el-breadcrumb-item>会员数量</el-breadcrumb-item>
        </el-breadcrumb>
    </div>
    <div class="app-container">
        <div class="box">
            <!-- 为 ECharts 准备一个具备大小（宽高）的 DOM -->
            <div id="chart1" style="height:600px;"></div>
            <div>
                <div id="chart2" style="height:600px;"></div>
                <div id="chart3" style="height:600px;"></div>
            </div>
        </div>
    </div>
</div>
</body>
<!-- 引入组件库 -->
<script src="../js/vue.js"></script>
<script src="../js/axios-0.18.0.js"></script>
<script src="../plugins/elementui/index.js"></script>
<script src="../js/echarts.js"></script>
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.13.2/lib/index.js"></script>
<script>

    var vm = new Vue({
        el: "#app",
        data: {
            value: null
        },
        methods:{
            handleFind(dateScope){
                // 获取折线图数据
                axios.get("/member/getMemberCount?dateScope="+dateScope).then((res) => {
                    var myChart = echarts.init(document.getElementById('chart1'));
                    if (res.data.flag) {

                        myChart.setOption({
                            title: {
                                text: '会员数量'
                            },
                            tooltip: {
                                trigger: 'axis',
                                formatter: res.data.data.memberCounts
                            },
                            xAxis: {
                                type: 'category',
                                // data: ['2020-6', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                                data: res.data.data.yearAndMonth
                            },
                            yAxis: {
                                type: 'value'
                            },
                            series: [{
                                // data: [820, 932, 901, 934, 1290, 1330, 1320],
                                name: '会员数量',
                                data: res.data.data.memberCounts,
                                type: 'line'
                            }]
                        });

                    }
                })

                // 获取性别饼图数据
                axios.get("/member/getMemberCountWithSex?dateScope="+dateScope).then((res) => {
                    var myChart = echarts.init(document.getElementById('chart2'));
                    if (res.data.flag) {
                        myChart.setOption({
                            title: {
                                text: '会员男女占比',
                                subtext: '纯属虚构',
                                left: 'center'
                            },
                            tooltip: {
                                trigger: 'item',
                                formatter: '{a} <br/>{b} : {c} ({d}%)'
                            },
                            legend: {
                                orient: 'vertical',
                                left: 'left'
                            },
                            series: [
                                {
                                    name: '性别',
                                    type: 'pie',
                                    radius: '55%',
                                    center: ['50%', '60%'],
                                    data: res.data.data,
                                    // data: [
                                    //     {value: 335, name: '直接访问'},
                                    //     {value: 310, name: '邮件营销'},
                                    //     {value: 234, name: '联盟广告'},
                                    //     {value: 135, name: '视频广告'},
                                    //     {value: 1548, name: '搜索引擎'}
                                    // ],
                                    emphasis: {
                                        itemStyle: {
                                            shadowBlur: 10,
                                            shadowOffsetX: 0,
                                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                                        }
                                    }
                                }
                            ]
                        });

                    }
                })

                // 获取年龄段饼图数据
                axios.get("/member/getMemberCountWithAge?dateScope="+dateScope).then((res) => {
                    var myChart = echarts.init(document.getElementById('chart3'));
                    if (res.data.flag) {
                        myChart.setOption({
                            title: {
                                text: '会员年龄段占比',
                                subtext: '纯属虚构',
                                left: 'center'
                            },
                            tooltip: {
                                trigger: 'item',
                                formatter: '{a} <br/>{b} : {c} ({d}%)'
                            },
                            legend: {
                                orient: 'vertical',
                                left: 'left'
                            },
                            series: [
                                {
                                    name: '年龄段',
                                    type: 'pie',
                                    radius: '55%',
                                    center: ['50%', '60%'],
                                    data: res.data.data,
                                    // data: [
                                    //     {value: 335, name: '直接访问'},
                                    //     {value: 310, name: '邮件营销'},
                                    //     {value: 234, name: '联盟广告'},
                                    //     {value: 135, name: '视频广告'},
                                    //     {value: 1548, name: '搜索引擎'}
                                    // ],
                                    emphasis: {
                                        itemStyle: {
                                            shadowBlur: 10,
                                            shadowOffsetX: 0,
                                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                                        }
                                    }
                                }
                            ]
                        });

                    }
                })
            },

            findByDate(){
                this.handleFind(this.value)
            }
        },

        mounted() {
            this.handleFind(null);
        }
    })

</script>


</html>
